/*
 * Copyright 2010 bedatadriven
 *
 *    Licensed under the Apache License, Version 2.0 (the "License");
 *    you may not use this file except in compliance with the License.
 *    You may obtain a copy of the License at
 *
 *        http://www.apache.org/licenses/LICENSE-2.0
 *
 *    Unless required by applicable law or agreed to in writing, software
 *    distributed under the License is distributed on an "AS IS" BASIS,
 *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *    See the License for the specific language governing permissions and
 *    limitations under the License.
 */

/**
 * JacobGen generated file --- do not edit
 *
 * (http://www.bigatti.it/projects/jacobgen)
 */
package com.bedatadriven.mso.core;

import com.google.gwt.core.client.JavaScriptObject;

/** Wrapper for Office.EncryptionProvider*/
public class EncryptionProvider extends JavaScriptObject {

	protected EncryptionProvider() { }
	public native final JavaScriptObject getProviderDetail(int encprovdet)/*-{
		return this.GetProviderDetail( encprovdet);
	}-*/;

	public native final int newSession( Object parentWindow)/*-{
		return this.NewSession( parentWindow);
	}-*/;

	public native final int authenticate( Object parentWindow,  Object encryptionData, int permissionsMask)/*-{
		return this.Authenticate( parentWindow, encryptionData, permissionsMask);
	}-*/;

	public native final int cloneSession(int sessionHandle)/*-{
		return this.CloneSession( sessionHandle);
	}-*/;

	public native final void endSession(int sessionHandle)/*-{
		this.EndSession( sessionHandle);
	}-*/;

	public native final int save(int sessionHandle,  Object encryptionData)/*-{
		return this.Save( sessionHandle, encryptionData);
	}-*/;

	public native final void encryptStream(int sessionHandle, String streamName,  Object unencryptedStream,  Object encryptedStream)/*-{
		this.EncryptStream( sessionHandle, streamName, unencryptedStream, encryptedStream);
	}-*/;

	public native final void decryptStream(int sessionHandle, String streamName,  Object encryptedStream,  Object unencryptedStream)/*-{
		this.DecryptStream( sessionHandle, streamName, encryptedStream, unencryptedStream);
	}-*/;

	public native final void showSettings(int sessionHandle,  Object parentWindow, boolean readOnly, boolean remove)/*-{
		this.ShowSettings( sessionHandle, parentWindow, readOnly, remove);
	}-*/;

}
